package game.square;

import be.kuleuven.cs.som.annotate.Raw;

/**
 * A class of not existing borders used as a special type of a border to
 * say that there is nothing between two squares.
  
 * @version 1.0
 * @author Chris Desomer, Geert Heyman
 */
public class NoPhysicalBorder extends OpenableBorder {

	/**
	 * Initialize this no physical border
	 * 
	 * @effect 	initialize this new no physical border as a new openable border
	 * 		  |	super(false)
	 */
	@Raw
	public NoPhysicalBorder()
			throws IllegalArgumentException, IllegalStateException {
		super(false);
	}
	/**
	 *  Check if this no physical border is open.
	 *  
	 *  @return	..
	 * 		  |	result == true
	 */
	@Override
	public boolean isOpenBorder() {
		return true;
	}
	
	/**
	 * Get newly created border (it borders no squares), that is
	 * on all other aspects equal to this border.
	 *  
	 * @return	result.isCreated() && result.getClass() == getClass()
	 */
	@Override
	public Border getNewEqualBorder(){
		return new NoPhysicalBorder();
	}

}
